*******************************************************************************************************************************
*******************************************************************************************************************************
* Documentation for Reproduction of
* Stephens 2011 TESS Survey Experiment
* TESS Race Discrimination Meta-Analysis
* Stata version 15
* Data available here: http://www.tessexperiments.org/data/stephens072.html
*******************************************************************************************************************************
*******************************************************************************************************************************

* use "TESS_Stephens_Wave_2_Client.dta", clear
set more off

*******************************************************************************************************************************
*** Racial groups
*******************************************************************************************************************************

tab PPETHM
gen whiteR = PPETHM
recode whiteR (2=0)
gen blackR = PPETHM
recode blackR (1=0) (2=1)
tab PPETHM whiteR
tab PPETHM blackR

*******************************************************************************************************************************
*** Treatments
*******************************************************************************************************************************

tab XTESS070
tab Q1_1
tab Q1_3
tab XTESS070 Q1_2
gen blackC = 0
replace blackC = 1 if XTESS070==2 | XTESS070==4 | XTESS070==6 | XTESS070==8
gen control = 0
replace control = 1 if XTESS070==9

gen liberalC = 0
replace liberalC = 1 if XTESS070==1 | XTESS070==2
gen deracialC = 0
replace deracialC = 1 if XTESS070==3 | XTESS070==4
gen implicitC = 0
replace implicitC = 1 if XTESS070==5 | XTESS070==6
gen explicitC = 0
replace explicitC = 1 if XTESS070==7 | XTESS070==8

tab XTESS070 blackC
tab XTESS070 liberalC
tab XTESS070 deracialC
tab XTESS070 implicitC
tab XTESS070 explicitC
tab XTESS070 control

*******************************************************************************************************************************
*** Outcome variables
*******************************************************************************************************************************

tab XTESS070 Q1_5
tab Q3
recode Q3 (-1=.)
egen vote_std = std(Q3)

tab1 Q4_1 Q4_2 Q4_3 Q4_4 Q4_5
recode Q4_1 Q4_2 Q4_3 Q4_4 Q4_5 (-1=.)
gen Q4_1_rev = 0 - Q4_1
gen Q4_3_rev = 0 - Q4_3
gen Q4_4_rev = 0 - Q4_4
gen Q4_5_rev = 0 - Q4_5
alpha Q4_1_rev Q4_2 Q4_3_rev Q4_4_rev Q4_5_rev, min(3) std item gen(rating)
egen rating_std = std(rating)

alpha vote_std Q4_1_rev Q4_2 Q4_3_rev Q4_4_rev Q4_5_rev, min(3) std item gen(ALPHA)

sum ALPHA if whiteR==1
di r(sd)
gen ov_white_std = ALPHA/r(sd) if whiteR==1

sum ALPHA if blackR==1
di r(sd)
gen ov_black_std = ALPHA/r(sd) if blackR==1

*******************************************************************************************************************************
*** Racial manipulation check
*******************************************************************************************************************************

gen mc_black = .
replace mc_black = 0 if control==0
replace mc_black = 1 if ((XTESS070==1 & Q1_2==0) | (XTESS070==2 & Q1_2==1) | (XTESS070==3 & Q1_2==0) | (XTESS070==4 & Q1_2==1) | (XTESS070==5 & Q1_2==0) | (XTESS070==6 & Q1_2==1) | (XTESS070==7 & Q1_2==0) | (XTESS070==8 & Q1_2==1))
tab mc_black
tab mc_black if control==0
tab mc_black if whiteR==1
tab mc_black if blackR==1

*******************************************************************************************************************************
*** Main regressions [Unweighted]
*******************************************************************************************************************************

reg ov_white_std blackC liberalC deracialC implicitC explicitC if control==0 & whiteR==1
reg ov_black_std blackC liberalC deracialC implicitC explicitC if control==0 & blackR==1
